﻿#Использовать v8runner
#Использовать logos

Перем Лог;

Процедура СоздатьБазу82ЕслиЕёНет(_конфигурация)
	Если _конфигурация.Версия = "8.2" Тогда
		указательНаБазу = Новый Файл(_конфигурация.СоздаваемаяБаза + "\1Cv8.1cd");
		Если НЕ указательНаБазу.Существует() Тогда
			лог.Отладка("Создание сервисной базы контрибьютора 8.2" + _конфигурация.СоздаваемаяБаза);
			
			УправлениеКонфигуратором = Новый УправлениеКонфигуратором();
			путьКПлатформе = УправлениеКонфигуратором.ПолучитьПутьКВерсииПлатформы("8.2");
			УправлениеКонфигуратором.ПутьКПлатформе1С(путьКПлатформе);
			УправлениеКонфигуратором.КаталогСборки(".\tools\ServiceBases\");	
			УправлениеКонфигуратором.СоздатьФайловуюБазу(_конфигурация.СоздаваемаяБаза);
		КонецЕсли;	
	КонецЕсли;	 
КонецПроцедуры

Лог = Логирование.ПолучитьЛог("behavior.build.log");

массивСервисныхБаз = Новый Массив();
массивСервисныхБаз.Добавить(Новый Структура("ПутьКИсходникам,СоздаваемаяБаза, Версия",
	".\lib\CF\82\",".\tools\ServiceBases\v82ServiceBase", "8.2"));

массивСервисныхБаз.Добавить(Новый Структура("ПутьКИсходникам,СоздаваемаяБаза, Версия",
	".\lib\CF\83\",".\tools\ServiceBases\v83ServiceBase", "8.3"));

массивСервисныхБаз.Добавить(Новый Структура("ПутьКИсходникам,СоздаваемаяБаза, Версия",
	".\lib\CF\83NoSync\",".\tools\ServiceBases\v83NoSyncServiceBase", "8.3"));

УправлениеКонфигуратором = Новый УправлениеКонфигуратором();
УправлениеКонфигуратором.КаталогСборки(".\tools\ServiceBases\");	

Для каждого _конфигурация из массивСервисныхБаз Цикл
	
	СоздатьБазу82ЕслиЕёНет(_конфигурация);
	
	Лог.Информация("Обрабатываю исходные файлы " + _конфигурация.ПутьКИсходникам);

	указательНаБазу = Новый Файл(_конфигурация.СоздаваемаяБаза + "\1Cv8.1cd");

	путьКПлатформе = УправлениеКонфигуратором.ПолучитьПутьКВерсииПлатформы("8.3.6");
	УправлениеКонфигуратором.ПутьКПлатформе1С(путьКПлатформе);

	Если указательНаБазу.Существует() Тогда
		лог.Отладка("Ранее был создан каталог " + _конфигурация.СоздаваемаяБаза);
	Иначе
		лог.Отладка("Создание сервисной базы контрибьютора " + _конфигурация.СоздаваемаяБаза);
		УправлениеКонфигуратором.СоздатьФайловуюБазу(_конфигурация.СоздаваемаяБаза);
	КонецЕсли;	

	УправлениеКонфигуратором.УстановитьКонтекст("/F" + _конфигурация.СоздаваемаяБаза + "\","","");

	ПараметрыЗапуска = УправлениеКонфигуратором.ПолучитьПараметрыЗапуска();
	ПараметрыЗапуска.Добавить("/LoadConfigFromFiles """ + _конфигурация.ПутьКИсходникам + """"); 

	УправлениеКонфигуратором.ВыполнитьКоманду(ПараметрыЗапуска);

	//УправлениеКонфигуратором.ВыполнитьСинтаксическийКонтроль();

	УправлениеКонфигуратором.ОбновитьКонфигурациюБазыДанных();

КонецЦикла;

//УправлениеКонфигуратором.ЗапуститьВРежимеПредприятия("",Истина);

